#include <stdio.h>
#include <float.h>

int main()
{
    printf("FLT_ROUNDS: %d\n", FLT_ROUNDS);
    printf("FLT_RADIX: %d\n", FLT_RADIX);
    printf("FLT_MAX: %e\n", FLT_MAX);
    printf("DBL_MAX: %e\n", DBL_MAX);
    printf("LDBL_MAX: %Le\n", LDBL_MAX);
    printf("FLT_MIN: %e\n", FLT_MIN);
    printf("DBL_MIN: %e\n", DBL_MIN);
    printf("LDBL_MIN: %Le\n", LDBL_MIN);
    printf("FLT_EPSILON: %e\n", FLT_EPSILON);
    printf("DBL_EPSILON: %e\n", DBL_EPSILON);
    printf("LDBL_EPSILON: %Le\n", LDBL_EPSILON);
    printf("DECIMAL_DIG: %d\n", DECIMAL_DIG);
    printf("FLT_EVAL_METHOD: %d\n", FLT_EVAL_METHOD);
    printf("FLT_MANT_DIG: %d\n", FLT_MANT_DIG);
    printf("DBL_MANT_DIG: %d\n", DBL_MANT_DIG);
    printf("LDBL_MANT_DIG: %d\n", LDBL_MANT_DIG);
    printf("FLT_DIG: %d\n", FLT_DIG);
    printf("DBL_DIG: %d\n", DBL_DIG);
    printf("LDBL_DIG: %d\n", LDBL_DIG);
    printf("FLT_MIN_EXP: %d\n", FLT_MIN_EXP);
    printf("DBL_MIN_EXP: %d\n", DBL_MIN_EXP);
    printf("LDBL_MIN_EXP: %d\n", LDBL_MIN_EXP);
    printf("FLT_MIN_10_EXP: %d\n", FLT_MIN_10_EXP);
    printf("DBL_MIN_10_EXP: %d\n", DBL_MIN_10_EXP);
    printf("LDBL_MIN_10_EXP: %d\n", LDBL_MIN_10_EXP);
    printf("FLT_MAX_EXP: %d\n", FLT_MAX_EXP);
    printf("DBL_MAX_EXP: %d\n", DBL_MAX_EXP);
    printf("LDBL_MAX_EXP: %d\n", LDBL_MAX_EXP);
    printf("FLT_MAX_10_EXP: %d\n", FLT_MAX_10_EXP);
    printf("DBL_MAX_10_EXP: %d\n", DBL_MAX_10_EXP);
    printf("LDBL_MAX_10_EXP: %d\n", LDBL_MAX_10_EXP);
}

/*
float.h定义了浮点数类型 float、double、long double 的一些宏，规定了这些类型的范围和精度。

(1) FLT_ROUNDS

宏FLT_ROUNDS表示当前浮点数加法的四舍五入方向。

它有以下可能的值。

-1：不确定。
0：向零舍入。
1：向最近的整数舍入。
2：向正无穷方向舍入。
3：向负无穷方向舍入。
（2）FLT_RADIX

宏FLT_RADIX表示科学计数法的指数部分的底（base），一般总是2。

（3）浮点数类型的最大值

FLT_MAX
DBL_MAX
LDBL_MAX
（4）浮点数类型的最小正值

FLT_MIN
DBL_MIN
LDBL_MIN
（5）两个同类型浮点数之间可表示的最小差值（最小精度）

FLT_EPSILON
DBL_EPSILON
LDBL_EPSILON
（6）DECIMAL_DIG

宏DECIMAL_DIG表示十进制有效位数。

（7）FLT_EVAL_METHOD

宏FLT_EVAL_METHOD表示浮点数运算时的类型转换。

它可能有以下值。

-1：不确定。
0：在当前类型中运算。
1：float 和 double 类型的运算使用 double 类型的范围和精度求值。
2：所有浮点数类型的运算使用 long double 类型的范围和精度求值。
（8）浮点数尾数部分的个数

FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG
（9）浮点数指数部分有效数字的个数（十进制）

FLT_DIG
DBL_DIG
LDBL_DIG
（10）科学计数法的指数部分的最小次幂（负数）

FLT_MIN_EXP
DBL_MIN_EXP
LDBL_MIN_EXP
（11）科学计数法的指数部分的十进制最小次幂（负数）

FLT_MIN_10_EXP
DBL_MIN_10_EXP
LDBL_MIN_10_EXP
（12）科学计数法的指数部分的最大次幂

FLT_MAX_EXP
DBL_MAX_EXP
LDBL_MAX_EXP
（13）科学计数法的指数部分的十进制最大次幂

FLT_MAX_10_EXP
DBL_MAX_10_EXP
LDBL_MAX_10_EXP
*/